V303 - NUMBERED ACCOUNT CHR COPY VIEW (NO CHARACTER BACKUPS)
===========================================================

BG2 native character resource filenames are limited to 8 characters before
.CHR/.BIO. This version uses the first 3 account letters plus a 2-digit number:
Drakhysys -> dra01.CHR, dra02.CHR, ...
Kronas    -> kro01.CHR, kro02.CHR, ...
Numbers expand to 3+ digits if necessary, never exceeding BG2's 8-letter cap.

LOGIN & NATIVE IMPORT
---------------------
1. A real account must be logged in and its characters/<AccountName>/ folder
   must have a matching ownership flag. All other account folders are denied.
2. The router finds real, valid CHR files in that one account folder.
3. Each valid CHR is COPIED (not linked) into the flat BG2 Documents/characters/
   folder under a short numbered filename (e.g. dra01.CHR). BIO follows the
   same numbered stem, if one exists.
4. Native BG2 Import reads these actual CHR bytes, not shortcuts or fake CHRs.
   Invalid CHR files and confirmed other-account characters are not copied.

NATIVE EXPORT & ACCOUNT RETURN
------------------------------
- An existing numbered native file changed by BG2 is copied back safely to its
  original account source filename. It never modifies a different account.
- A NEW valid native CHR written during the active login (for example MYCHAR.CHR)
  is copied to the account folder under the next free numbered name, e.g.
  dra03.CHR. The companion BIO follows if available. The original name is only
  a temporary native export input and is cleared after verified copy-back.
- Newly created numbered account files become visible in the native root view.
- Existing account originals are NOT renamed or deleted just to build the view.
  This avoids deleting old characters or accidentally duplicating them.
- Export list metadata shows short numbered aliases for the active account.
- In-game character names are unchanged; only CHR/BIO filenames change.
- No character backup/restore is performed. Temporary BG2-facing copies exist
  only while the player is logged in. The router only removes copies that it
  can verify were committed back to the account folder.

IMPORTANT SAFETY CHECKS
-----------------------
- Stop BG2 and InfinityLoader before running SETUP_IN_GAME_ACCOUNTS.bat.
- Unidentified CHR/BIO files directly in the shared characters/ root are NOT
  automatically removed or claimed. A collision blocks mounting and the
  diagnostic explains which names need manual review.
- Do not choose another account link: selection must match active login.
- The optional confirmed-owner repair is still needed if Drakhy.CHR physically
  sits in Kronas's folder (or Kronas files in Drakhysys's folder).
- Use CHECK_ACCOUNT_CHARACTER_ACCESS.bat while BG2 is logged in to confirm
  the actual alias names and see any errors.
- A character created/imported into gameplay is not necessarily exported by
  BG2 at Import time. A real CHR file must be written by native BG2 Export
  before the router can give it a permanent numbered account filename.

FILES
-----
account_character_copy_bridge.py         numbered view / copy-back engine
account_folder_router.py                login / access enforcement & pulse
CHECK_ACCOUNT_CHARACTER_ACCESS.bat      read-only account routing report
RECONNECT_LOGGED_ACCOUNT_CHARACTERS.bat repair/check running copy view
SELECT_ACCOUNT_CHARACTER_LINK.bat       verify logged account link only

Compatibility note: V302's hardlink-specific tests are superseded by
 test_v303_numbered_chr_copy_bridge.py for the Import/Export implementation.
Actual behavior on the user's Windows BG2/InfinityLoader installation has
not yet been verified; offline tests use valid CHR signatures and mock data.
